
import vue from '@vitejs/plugin-vue'
import viteCompression from 'vite-plugin-compression'
import { resolve } from "path";
import { loadEnv } from "vite";

export default (mode: any) => {
  let env = loadEnv(mode, process.cwd());
  return  {
    plugins: [
      vue(),
      viteCompression({
        threshold: 1024000,                          // 对大于 1mb 的文件进行压缩
        filter: /.(js|mjs|json|css|html)$/i,         //过滤器，对哪些类型的文件进行压缩，默认为 ‘/.(js|mjs|json|css|html)$/i’
        verbose: true,                               //是否在控制台输出压缩结果，默认为 true
        disable: false,                              //是否禁用压缩，默认为 false
        deleteOriginFile: false,                     //压缩后是否删除原文件，默认为 false
        algorithm: 'gzip',                           //采用的压缩算法，默认是 gzip

      })
    ],
    resolve: {
      alias: {
        '~@': resolve(__dirname, './src'),
        '@': resolve(__dirname, './src'),
        '~': resolve(__dirname, './src/assets'),
      },
      extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
    },
    // ******开发服务器配置******
    server: {
      // https: true, //(使用https)启用 TLS + HTTP/2。注意：当 server.proxy 选项 也被使用时，将会仅使用 TLS
      // host: true, // 监听所有地址
      // port: 8080, //指定开发服务器端口：默认3000
      open: true, //启动时自动在浏览器中打开
      // cors: false, //为开发服务器配置 CORS
      proxy: {
        '/ahzwfw': {
          target: 'https://test.an-wzt.ahzwfw.gov.cn:8010',
          changeOrigin: true,
          rewrite: (path: string) => path.replace(/^\/ahzwfw/, ''),
        },
      }
    },
  }

}
